}
}
+impl Registry for Vec<Package> {
+ fn query(&mut self, dep: &Dependency) -> CargoResult<Vec<Summary>> {
+ Ok(self.iter().filter(|pkg| dep.matches(pkg.summary()))
+ .map(|pkg| pkg.summary().clone()).collect())
+ }
+}
+
/// This structure represents a registry of known packages. It internally
/// contains a number of `Box<Source>` instances which are used to load a
/// `Package` from.
}
}
- pub fn read_packages(&self) -> CargoResult<Vec<Package>> {
+ fn read_packages(&self) -> CargoResult<Vec<Package>> {
if self.updated {
Ok(self.packages.clone())
} else if self.id.is_path() && self.id.precise().is_some() {
impl<'cfg> Registry for PathSource<'cfg> {
fn query(&mut self, dep: &Dependency) -> CargoResult<Vec<Summary>> {
- let mut summaries: Vec<Summary> = self.packages.iter()
- .map(|p| p.summary().clone())
- .collect();
- summaries.query(dep)
+ self.packages.query(dep)
}
}